package fengzhuang;

import java.util.Scanner;

    // 公共访问权限，主类，这个类在当前项目中都是可见的
    public class test1 {
        public static void main(String[] args) {
            Bank bank = new Bank();
            // 当password属性被private之后，对于这个属性就是一个保护
            // 类的外部要想使用这个属性，必须按照我的规则去使用(getter和setter)
            bank.setPassword();
            System.out.print("修改后的密码为:");
            System.out.println(bank.getPassword());
        }
    }

    // 银行类,缺省修饰符，包访问权限
    class Bank {
        // 卡号
        private int cardNum;
        // 余额
        private double sal;
        // 密码
        private String password = "123456";

        // alt + insert 快速生成getter和setter方法
        // get+属性名称 = 方法命名


        public int getCardNum() {return cardNum;}

        public double getSal() {
            return sal;
        }

        public String getPassword() {return password;}

        public void setPassword() {
            Scanner scanner = new Scanner(System.in);
            int count = 0;
            // 验证当前密码是否正确才能修改
            while (true) {
                System.out.println("请输入您现在的旧密码:");
                String oldPass = scanner.nextLine();
                count ++;
                // 所有引用类型的对象比较使用equals方法
                if (oldPass.equals(password)) {
                    // 密码输入正确，修改密码
                    System.out.println("密码正确，正在改密码~~");
                    System.out.println("请输入您的新密码：");
                    String newPass = scanner.nextLine();
                    password = newPass;
                    System.out.println("密码修改成功!");
                    break;
                }else {
                    // 输入密码有误
                    System.out.println("密码错误，请查证后再试");
                    if (count == 3) {
                        System.out.println("尝试次数过多，银行卡已经锁定");
                        break;
                    }
                }
            }

        }
    }

